package io.adrainty.bolee.trade.models.bo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.adrainty.bolee.framework.commons.basic.BaseBO;
import io.adrainty.bolee.framework.commons.basic.EnableEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;

/**
 * <p>PayChannelBO</p>
 *
 * @author AdRainty
 * @version V1.0.0
 * @description 支付渠道
 * @since 2025/8/28 09:39:36
 */

@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "支付渠道")
@TableName("tab_pay_channel")
public class PayChannelBO extends BaseBO {
    
    @Serial
    private static final long serialVersionUID = 8659515430698248450L;

    @Schema(description = "通道名称")
    @TableField("channel_name")
    private String channelName;

    @Schema(description = "通道唯一标记")
    @TableField("channel_label")
    private String channelLabel;

    @Schema(description = "域名")
    @TableField("domain")
    private String domain;

    @Schema(description = "商户appid")
    @TableField("app_id")
    private String appId;

    @Schema(description = "支付公钥")
    @TableField("public_key")
    private String publicKey;

    @Schema(description = "商户私钥")
    @TableField("merchant_private_key")
    private String merchantPrivateKey;

    @Schema(description = "其他配置")
    @TableField("other_config")
    private String otherConfig;

    @Schema(description = "AES混淆密钥")
    @TableField("encrypt_key")
    private String encryptKey;

    @Schema(description = "商户ID【系统内部识别使用】")
    @TableField("company_no")
    private String companyNo;

    @Schema(description = "回调地址")
    @TableField("notify_url")
    private String notifyUrl;

    @Schema(description = "数据状态：0正常 1禁用")
    @TableField("data_state")
    private EnableEnum dataState;
    
}
